Salt and Survival: Iodized Salt and Life Expectancy Globally
Faizan Khan April 23, 2025
Introduction.
Iodine deficiency is still one of the top preventable causes of intellectual disability and impaired health around the world. The World Health Organization (WHO) and UNICEF have recognized universal salt iodization as a cheap solution to resolve this problem for some time. But how effective has it been?
This report provides a comprehensive analysis of the relationship between iodized salt consumption, sanitation access, life expectancy, and economic factors worldwide. By visualizing trends over time and comparing country-level data, it highlights how public health initiatives, infrastructure, and economic growth influence overall well-being. The data reveals global disparities, with some nations excelling in sanitation and nutrition programs while others struggle due to policy gaps and resource limitations. The insights emphasize the importance of fortification programs, clean water access, and economic development in improving public health outcomes. Understanding these connections can drive effective policymaking and targeted interventions to enhance global health standards.
Global Mapping of Access to Sanitation
This global map displays access to sanitation facilities by country and is representing 2022 data. Darker red shading represents lower levels of access, and paler yellow represents higher levels of access.
Code
import geopandas as gpdimport polars as plimport pandas as pdimport matplotlib.pyplot as pltfrom IPython.display import displaytableau_data = pl.read_csv("/content/tableau.csv")# Load world boundaries shapefile from the provided URLworld = gpd.read_file("https://public.opendatasoft.com/api/explore/v2.1/catalog/datasets/world-administrative-boundaries/exports/shp")# Prepare data (Sanitation Access by Country)df = ( tableau_data .filter(pl.col("Sanitation_Access(%)").is_not_null()) .select(["year", "alpha_3_code", "Sanitation_Access(%)"]) # Using the alpha_3_code directly .rename({"Sanitation_Access(%)": "sanitation"}) .to_pandas())# Filter the data for the year 2022df_2022 = df[df["year"] ==2022]# Merge the world shapefile data with sanitation access data using the alpha_3_codemerged = world.merge(df_2022, how="left", left_on="iso3", right_on="alpha_3_code")# Plot the map for 2022fig, ax = plt.subplots(1, 1, figsize=(15, 8))# Plot the map with a color gradient for sanitation access and the legendmerged.plot(column='sanitation', cmap='YlOrRd', # Color map for visualization linewidth=0.8, ax=ax, edgecolor='0.8', missing_kwds={"color": "lightgrey", "label": "No data"}, legend=True, legend_kwds={'label': "Sanitation Access (%)",'orientation': 'horizontal','fraction': 0.02,'pad': 0.04 })ax.set_title("Access to Sanitation Facilities by Country (2022)", fontsize=15)ax.axis('off') # Turn off the axis for better visualizationplt.show()
The global story regarding access to sanitation is compelling evidence of inequality in access to basic hygiene:
South Sudan, Venezuela, Guinea, and Yemen are few examples of countries showing alarmingly low access to sanitation, often at levels below 40%.
In many of Western Europe, North America, and some parts of East Asia, high sanitation coverage shows the result of investment and political will to improve public health sanitation infrastructure.
Sanitation is not just a luxury, but a life-saving (missing goods) public good.
The gray areas signify areas of missing, or out of date information, which represents another problem in the sanitation sector; data gaps limit the ability to make value adding interventions.
Closing the access gap for sanitation is foundational to disease prevention, child health, and a person’s dignity regardless of their location in the world.
Code
import polars as plimport pandas as pdfrom plotnine import*from IPython.display import displayimport randomdef generate_color_map(countries): color_map = {} used_colors =set()for country in countries:whileTrue: color ="#{:06x}".format(random.randint(0, 0xFFFFFF))if color notin used_colors: used_colors.add(color) color_map[country] = colorbreakreturn color_mapfrom_year =1994to_year =2022data = tableau_data.filter( (pl.col("year") >= from_year) & (pl.col("year") <= to_year) & (pl.col("Iodized_Salt_Consumption(%)").is_not_null())).rename({"Iodized_Salt_Consumption(%)": "iodine"})grouped = data.group_by("country").agg([pl.col("iodine").mean().alias("avg_iodine")])df = grouped.sort("avg_iodine", descending=True).head(10).to_pandas()if df.empty:print("No data available for this selection.")else: color_map = generate_color_map(df["country"].tolist()) plot = ( ggplot(df, aes(x='reorder(country, -avg_iodine)', y='avg_iodine', fill='country')) + geom_col() + geom_text( aes(label='round(avg_iodine, 1)'), ha='right', nudge_y=-2, size=10 ) + scale_fill_manual(values=color_map) + coord_flip() + labs( title=f"Top 10 Countries by Iodized Salt Consumption ({from_year}-{to_year})", x="Country", y="Average Iodized Salt Consumption (%)" ) + theme_minimal() + theme(figure_size=(9, 6)) ) display(plot)
This bar graph outlines the top 10 countries with the highest average consumption of iodized salt from 1994 to 2022.
Each country on the list, from Georgia (100%) to Samoa (98.2%) have made Universal salt iodization an achievable reality everywhere.
some additional heroes are - Georgia with 100% coverage-the gold standard of nutrition-based policy - Qatar, Kenya, and Rwanda are all over 99% - Papua New Guinea, Bhutan, and, many of the high utilizers under specific commentary,
The Health Link: Iodized Salt: Life Expectancy
Code
import polars as plimport pandas as pdfrom plotnine import*from IPython.display import displayimport randomdf_2022 = ( tableau_data .filter(pl.col("year") ==2022) .filter( (pl.col("Sanitation_Access(%)").is_not_null()) & (pl.col("GDP per capita (constant 2015 US$)").is_not_null()) ) .rename({"Sanitation_Access(%)": "sanitation","GDP per capita (constant 2015 US$)": "gdp" }) .select(["country", "sanitation", "gdp", "year"]) .to_pandas())df_2022 = df_2022.drop_duplicates(subset=["country"])top10_2022 = df_2022.sort_values(by="gdp", ascending=False).head(10)max_gdp_country = top10_2022.loc[top10_2022["gdp"].idxmax(), "country"]def generate_color_map(countries, max_gdp_country): color_map = {} used_colors =set()for country in countries:whileTrue: color ="#{:02x}{:02x}{:02x}".format( random.randint(120, 220), random.randint(120, 220), random.randint(120, 220) )if country == max_gdp_country: color = color[:5] +'00'if color notin used_colors: used_colors.add(color) color_map[country] = colorbreakreturn color_mapcolor_map = generate_color_map(top10_2022["country"].tolist(), max_gdp_country)df_2022 = top10_2022[(top10_2022["gdp"] <250000) & (top10_2022["sanitation"] <=100)]plot = ( ggplot(df_2022, aes(x='gdp', y='sanitation')) + geom_point(aes(color='country', size='gdp'), alpha=0.7, stroke=0.5) + geom_smooth( method='lm', color='#F47942', size=1.2, se=False, na_rm=True ) + scale_color_manual(values=color_map) + scale_size_continuous(range=[5, 10]) + scale_x_continuous( labels=lambda l: [f"{int(val/1000)}K"for val in l] ) + scale_y_continuous( limits=(0, 100), breaks=list(range(0, 125, 25)) ) + labs( title="How GDP Influences Sanitation Access (2022)", subtitle="Countries with higher GDP, like Switzerland and Luxembourg, do not always show the highest sanitation access.\n\nMexico stands out with superior coverage despite lower GDP.\n\n", x="GDP per Capita", y="Access to Sanitation (%)" ) + theme( figure_size=(12, 8), panel_background=element_blank(), plot_background=element_blank(), panel_grid_major=element_blank(), panel_grid_minor=element_blank(), axis_line=element_line(color='black'), axis_ticks=element_line(color='black'), text=element_text(size=12), plot_title=element_text(size=16, weight='bold', margin={'b': 10}), plot_subtitle=element_text(size=11, margin={'b': 15}), axis_title_x=element_text(margin={'t': 12}), axis_title_y=element_text(margin={'r': 12}), legend_position='right' ) + guides( color=guide_legend(title="Country", override_aes={'size': 8}), size=guide_legend(title="GDP (Size)", override_aes={'alpha': 0.7}) ))display(plot)
This chart investigates the relationship between iodized salt coverage (x-axis) and life expectancy (y-axis) with fitted regression line to show correlation.
The above scatterplot shows you the relationship for GDP per Capita (x-axis) and Sanitation Access (y-axis). In this scatterplot, you can observe that there is a positive relationship between GDP and Sanitation Access. Basically, countries with higher GDP generally have higher sanitation access.
Otherwise, there are some outliers, like Mexico, which has higher than expected sanitation access given it’s relatively lower GDP as compared to many other countries in the scatterplot.
This tells us that despite the amount of public health infrastructure investments that can afford to be made at a given GDP, GDP cannot be the only explicative variable for accounting for sanitation access intra-country. There are a number of public policy and socio-economic forces that will matter too.
There is a clear relationship between GDP and sanitation access, but there are several outliers, the best example being Mexico, that tells us public health and sanitation need to be invested in regardless of GDP level.
A Win for Global Health? Trends Over Time.
Code
import polars as plimport pandas as pdfrom plotnine import*from IPython.display import displayfrom_year =1994to_year =2022df = ( tableau_data .filter(pl.col("Iodized_Salt_Consumption(%)").is_not_null()) .group_by("year") .agg(pl.col("Iodized_Salt_Consumption(%)").mean().alias("avg_iodine")) .sort("year") .to_pandas())df = df[(df["year"] >= from_year) & (df["year"] <= to_year)]if df.empty:print("No data available for this selection.")else: plot = ( ggplot(df, aes(x='year', y='avg_iodine')) + geom_line(color="#F47942", size=1.5) + geom_point(color="#F47942", size=2.5) + scale_x_continuous(breaks=list(range(from_year, to_year +1, 2))) + scale_y_continuous(limits=(0, 100), breaks=list(range(0, 125, 25))) + labs( title="Iodised Salt Consumption Over Time", subtitle="This line chart visualizes the global trend of iodised salt consumption.\n\nA sharp rise around the year 2000 is followed by fluctuating patterns.\n\n", x="Year", y="Iodised Salt Consumption (%)" ) + theme( figure_size=(10, 6), panel_background=element_blank(), plot_background=element_blank(), panel_grid_major=element_blank(), panel_grid_minor=element_blank(), axis_line=element_line(color='black'), axis_ticks=element_line(color='black'), text=element_text(size=12), plot_title=element_text(size=16, weight='bold', margin={'b': 10}), plot_subtitle=element_text(size=11, margin={'b': 10}), axis_title_x=element_text(margin={'t': 10}), axis_title_y=element_text(margin={'r': 10}), legend_position='none' ) ) display(plot)
In this visualization, we look at the global trend in coverage of iodized salt, over the last 20 years.
This chart visualizes the global trend of iodised salt consumption from 1994 to 2022. A sharp rise around the year 2000 is followed by fluctuating patterns across the next two decades.The chart highlights the need for sustained initiatives to ensure universal access to iodised salt.
Good News: - Strong upward trend since the 1990s - The result of global coalitions, government legislation, and education programs
Things to Consider: - Growth in iodized salt coverage may be slowing in some areas - We need to re-examine policy, monitoring, and investment overall
The fight for iodine deficiency is not over- but we are heading in the right direction.
Stability vs Volatility: Trends for Iodized Salt and Sanitation Access Over Time
The chart depicts the trends for iodized salt consumption and sanitation access over time from 2000-2023. Each indicator trend covers the total time range for national coverage as percent.
🟪 With purple area, sanitation access appears similarly stable with relatively consistent high levels over the same time period. The comparative stable coverage trend represents commitment to factors driving global access, such as continuous investment in infrastructure and platforms for hygiene, and, underlying public health systems.
🟧 The peach-colored layer representing iodized salt consumption suggests an alternative narrative irregular volatility. Across the same time period, this indicator depicts regular rise and declines, with discernable declines in 2002, 2010, and 2023.
While sanitation improvements would seem better correlated with an evidence derived tipping point in national policy settings, that same stability was not shared by nutritional interventions such as salt-iodization, which demonstrate irregularity under circumstances that are impacted; include:
Changes in political focus
Minimal funding, support, or delayed implementation
Gaps in supply or attention
The volatility in trends raises concerns about the overall benefits and sustainability of nutritional programs in low-income or crisis contexts.
Conclusion
This report documented global trends and a country-level examination of iodized salt consumption and access to sanitation. Based on the results outlined in the report, we would like to emphasize the essential role both areas of consumption play in health outcomes. Also, we identified substantial disparities in each area across regions. Although the developed world currently delivers iodized salt and sanitation access to its citizens, insufficient access remains particularly important in many developing regions that have not achieved universal access, despite ensuring prioritization.
Although there is an upward trend in iodized salt consumption which is spurred by broad global coalitions with governments and faith educators, the data shows volatility for iodized salt consumption trends compared to stable or unidirectional trends for sanitation access. This emphasizes the need for continued global investment in nutrition programs and policy efforts to eliminate the greatest gaps on the health continuum.
While it cannot be overstated that sanitation remains one of the pillars of public health, nutrition is also essential and intimately related (iodized salt). More specifically, our demand continues to be that we must always prioritize equity of importance. We must continue to adapt our interventions and to monitor our four pillars (port health, sanitation, nutrition, and health) to improve health outcomes.